package com.sf.web.controller;

import com.sf.domain.Employee;
import com.sf.service.IEmployeeService;
import com.sf.util.JsonResult;
import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/employees")
public class EmployeeController {

    /**
     * 查询所有用户信息
     * 请求路径：/employees
     * 请求方式：get
     * 请求参数：无
     * 返回数据：success:true,msg:操作成功，date:list
     */
    @Autowired
    private IEmployeeService employeeService;

    @GetMapping
    public JsonResult list(){
        return new JsonResult(true,"操作成功", employeeService.list());
    }

    /**
     * 新增用户信息
     * 请求路径：/employees
     * 请求方式：post
     * 请求参数：无
     * 返回数据：success:true,msg:操作成功，date:null
     */
    @PostMapping
    public JsonResult save(Employee employee){
        employeeService.insert(employee);
        return new JsonResult(true,"操作成功", null);
    }
    /**
     * 更新用户信息
     * 请求路径：/employees
     * 请求方式：put
     * 请求参数：id
     * 返回数据：success:true,msg:操作成功，date:null
     */
   @PutMapping
     public JsonResult update(Employee employee){
        employeeService.update(employee);
        return new JsonResult(true,"操作成功", null);
    }
    /**
     * 删除用户信息
     * 请求路径：/employees
     * 请求方式：delete
     * 请求参数：id
     * 返回数据：success:true,msg:操作成功，date:null
     */
   @DeleteMapping
    public JsonResult delete(Long id){
        employeeService.delete(id);
        return new JsonResult(true,"操作成功", null);
    }
    /**
     * 查询单个用户信息
     * 请求路径：/employees
     * 请求方式：delete
     * 请求参数：id
     * 返回数据：success:true,msg:操作成功，date:null
     */
    @GetMapping("/{id}")
    public JsonResult get(@PathVariable Long id){
        employeeService.get(id);
        return new JsonResult(true,"操作成功",employeeService.get(id));
    }
}
